package cn.hss.io.convert;

import javax.imageio.IIOException;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**InputStreamReader转换流
 * 是从字节流到字符流的桥梁
 * @author 作者：HeShaoShuai
 * @Email 邮箱：2569819541@qq.com
 * @Date 日期：2023/4/26 15:21
 * @Package 包名：cn.hss.io.convert
 * @Project 项目名：JavaSE
 * @Version 1.0
 */
public class ByteReadChineseTest {
	public static void main(String[] args) {
		//1.创建字节输入流，并指定文本文件的位置
		try {
			FileInputStream fis = new FileInputStream("java.txt");
			{
				//此方式读取中文会出现乱码
				int b;
				while ((b=fis.read())!=-1){
					System.out.println((char) b);
				}
			}
			//解决中文乱码
			//方式1:使用字节数组保存中文内容
			{
				byte[] bytes = new byte[1024];
				int b;
				while ((b=fis.read(bytes))!=-1){
					System.out.println(new String(bytes,0,b,"UTF-8"));

				}
			}
			//关闭资源
			fis.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e){
			e.printStackTrace();
		}
	}
}
